package controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import pojo.User;
import service.UserService;

@Controller
//为了让springmvc能识别这个类，需要加注解
@RequestMapping("/user")
//相当于servlet的路径

//tomcat帮忙实例化servlet
public class UserController {
    @Autowired
    private UserService userService;

    //servlet五个if判断，在这里写成五个方法
    @RequestMapping("/index")
    public String index() {
        //逻辑视图名
        return "index";//  请求  /user/index 返回index.jsp
        //框架打开资源
    }

    //return 返回字符串，可以解决请求转发的问题
    //springmvc中有个bean 叫做视图解析器，默认是转发，可以修改为重定向，靠返回前缀后缀，返回逻辑视图名
    //正常情况下，返回逻辑视图名，springmvc会自动拼接前缀和后缀，转发到jsp页面
    //一般不能直接访问webinf
    @RequestMapping("/login")
    public String login(User user) {
        //登录逻辑
        boolean flag = userService.login(user);
        if (flag) {
            // /WEB-INF/user/list.jsp
            return "index";
        } else {
            return "login";
        }
        //方法上写参数，自动入参，必须与user类的值一致，才能自动映射过来

    }
    @RequestMapping("/list/{currentPage}")
    public String list(User user ,@PathVariable("currentPage") int currentPage) {
        //框架里可以不加问号，直接传值，但是要加@PathVariable
        return "list";
    }
}

